\documentclass{beamer}        % 文档类beamer的汉化版本

\usefonttheme{serif}              % 使用衬线字体
\usefonttheme{professionalfonts}  % 数学公式字体
\usepackage{mathtools}
\usepackage{hyperref}
\usepackage{ctex}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{float}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{url}
\usepackage{subfigure}
%\hypersetup{pdfpagemode=FullScreen}  %用PDF 阅读器打开时自动全屏显示

%% --> 配置中英文字体
% \usepackage{fontspec}
% \setmainfont{Liberation Serif}
% \setsansfont{DejaVu Sans}
% \setmonofont{Cousine}
% \usepackage{xeCJK}
% \setCJKmainfont[BoldFont=Noto Sans SC]{Noto Serif SC}
% \setCJKsansfont{Noto Sans SC}
% \setCJKmonofont{WenQuanYi Micro Hei Mono}

%% --> 主题和色彩风格
\usetheme{Frankfurt}       %主题和色彩可以自由搭配
\usecolortheme{orchid}     %主题和色彩的样式可参见网页 https://mpetroff.net/files/beamer-theme-matrix/


\begin{document}

%% --> 导言页
%
\title{Julia集的分析和探索}
\author{周游3200106105 \\ 强基数学2001}
\institute{ZJU}
\date{2022/7/4}
\frame{\titlepage}

%% --> 目录结构
%
%\begin{frame}{目录}         %自动生成目录
%  \tableofcontents[hideallsubsections]
%\end{frame}

%% --> 正式内容开始
%
\section{引言}    % 第 1 节

%% 每一节开头显示目录，并高亮当前节的主题
%\AtBeginSection[]{\frame{\tableofcontents[currentsection,hideallsubsections]}}

%% --> 第 1 帧
\begin{frame}{引言}

	Julia集是一个在复平面上形成分形的点的集合。
    以法国数学家加斯顿·朱利亚（Gaston Julia）的名字命名。
    c的微小变化能使图形发生较大偏差，例如，
    取c=0.285+0.529i为例，得到名为“兔子”的集合：
    \begin{figure}[h]
        \centering
    \subfigure
    {
        \begin{minipage}[b]{.4\linewidth}
            \includegraphics[scale=0.2]{./images/J02.png}
            \caption{兔子}
        \end{minipage}
    }
    \subfigure
    {
        \begin{minipage}[b]{.4\linewidth}
            \includegraphics[scale=0.2]{./images/J01.png}
            \caption{花}
        \end{minipage}
    }
    \end{figure}

\end{frame}

\section{数学理论}    % 第 2 节

%% --> 第 2 帧
\begin{frame}{Julia集}

	Julia集可以由下式进行反复迭代得到：
	$$f_c(z)=z^2+c$$
	其中c是一个固定的复数参数。
	从不同的$z_0$开始进行迭代：
	\begin{equation*}
	\begin{aligned}
	z_1&=z_0^2+c\\
	z^2&=z_1^2+c\\
	&\cdots \\
	z_{n+1}&=z_n^2+c,n=0,1,2...\\
	\end{aligned}
	\end{equation*}
	对于固定的复数c，取某一z值（如z = z0），可以得到序列
	$$z_0,f_c(z_0),f_c(f_c(z_0)),f_c(f_c(f_c(z_0))),\cdots$$
	这一序列可能反散于无穷大或始终处于某一范围之内并收敛于某一值。
	我们将使其不扩散的z值的集合称为Julia集。

\end{frame}

\begin{frame}{Mandelbrot集}
	在对Julia集的研究中，我们可以自然地想到
取定$z_0=0$进行迭代： 
$f_c(z)=z^2+c$
每次迭代的值依序如以下数列所示：
$(0,f_c(0),f_c(f_c(0)),f_c(f_c(f_c(0))),...)$
不同的参数c可能使迭代值的模逐渐发散到无限大，也可能收敛在有限的区域内。
Mandelbrot集就是使其不扩散的所有复数c的集合。\par

\begin{figure}[h]
    \centering
    \includegraphics[width=1\textwidth]{./images/J03.png}
    \caption{Mandelbrot集与Julia集}
\end{figure}

\end{frame}


\section{算法}

\begin{frame}{判断z是否属于J}

固定参数c,判断z是否属于Julia集J的算法流程图：
\begin{figure}[h]
    \centering
    \includegraphics[width=.5\textwidth]{./images/process.png}
\end{figure}

\end{frame}

\section{数值算例}
\begin{frame}{数值算例}

c=0.285-0.529i时，输出在下图中，与图1中（兔子）图案相同.
更换不同的c可以看到许多种图案：

\begin{figure}[h]
    \centering
\subfigure
{
    \begin{minipage}[b]{.3\linewidth}
        \includegraphics[scale=0.05]{./images/rabbit.bmp}
        \caption{c=0.285-0.529i}
    \end{minipage}
}
\subfigure
{
    \begin{minipage}[b]{.3\linewidth}
        \includegraphics[scale=0.05]{./images/flower.bmp}
        \caption{c=0.178-0.529i}
    \end{minipage}
}
\subfigure
{
    \begin{minipage}[b]{.3\linewidth}
        \includegraphics[scale=0.05]{./images/beauty.bmp}
        \caption{c=-0.755+0.086i}
    \end{minipage}
}
\end{figure}
\end{frame}

\section{结论}
\begin{frame}{结论}  % 取消垂直居中

	本次项目用C++程序顺利复刻了Julia集的图像，代码在src目录下，
	可以看到将参数c稍作改动时，生成的Julia集会有较大变化。能出现例如飞机、兔子、胖兔子之类的图像。

\end{frame}

\begin{frame}[plain]    %%谢谢
	\vspace{0.4\textheight}
	\begin{center}
		\Huge\color{blue}\bfseries 谢谢大家!
	\end{center}
\end{frame}

\end{document}
